const app = getApp();
Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		userInfo: {
			avatar: '',
			nickName: '',
			sex: 0,
			phonenumber: '',
        },
        phoneNumber: ``,
		defaultAvatar: `https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0`,
		sexMap: ['未知', '男', '女'],
		sexVisible: false,
		sexOptions: [{
			label: '男',
			value: 1,
		}, {
			label: '女',
			value: 2,
        }],
        navigateTo: false,
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad (options) {
        if (options && options.type == 1) {
            this.setData({ navigateTo: true });
        }
		this.init();
	},

	/**
	 * 初始化数据
	 */
	init() {
		app.httpGet(`mini/getInfo/${wx.getStorageSync('openid')}`).then(({ data }) => {
			// 更新本地缓存
			wx.setStorageSync('userInfo', data);
			let number = data.phonenumber.substr(0, 3) + '****' + data.phonenumber.substr(7);
			this.setData({
				userInfo: {
					avatar: app.getImageUrl(data.avatar),
					nickName: data.nickName,
					sex: data.sex,
					phonenumber: data.phonenumber
				},
				phoneNumber: number
            });
            if (this.data.navigateTo && data.avatar && data.nickName && data.sex) {
                wx.navigateBack({ delta: 2 });
            }
		});
	},

	/**
	 * 选择头像
	 * @param {*} e 
	 */
	onChooseAvatar(e) {
		// 微信文件上传
		app.httpUpload(e.detail.avatarUrl).then((res) => {
			// 保存并修改数据库
			post(`mini/user/update`, { openid: wx.getStorageSync('openid'), avatar: res.data }).then(() => {
				// 刷新当前页面，使得整体数据刷新
				this.onLoad();
			});
		});
	},

	/**
	 * 点击昵称栏
	 */
	goUpdateName(e) {
		wx.navigateTo({
			url: `/pages/user/edit-name/index?value=${e.target.dataset.value}&type=${e.target.dataset.type}`,
		});
	},

	/**
	 * 点击性别栏显示性别选择器
	 */
	chooseSex() {
		this.setData({ sexVisible: true });
	},

	/**
	 * 点击取消
	 */
	onCancelSex() {
		this.setData({ sexVisible: false });
	},

	/**
	 * 点击确定事件
	 * @param {*} e 
	 */
	onConfirmSex(e) {
		const sex = e.detail.value[0];
		app.httpPost(`mini/user/update`, { openid: wx.getStorageSync('openid'), sex }).then((res) => {
			this.setData({ sexVisible: false });
			// 刷新当前页面，使得整体数据刷新
            this.onLoad();
		});
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {
      this.onLoad();
	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})